package com.tentative.competition.common.model.schedule.resp;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tentative.competition.common.enums.OperateTypeEnum;
import com.tentative.competition.common.enums.WorksStatusEnum;
import com.tentative.competition.common.model.schedule.vo.FileVo;
import com.tentative.competition.common.model.schedule.vo.ScheduleMemberInfoVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NonNull;

import java.util.Date;
import java.util.List;

/**
 * @auther: Smile Huang
 * @date: 2023/6/24 16:37
 * @desc:
 * @version: 2.0
 */
@Data
public class ScheduleWorksResp {

    private Long id;

    @ApiModelProperty("赛程ID")
    private Long scheduleId;

    @ApiModelProperty("赛程名称")
    private String scheduleTitle;

    @ApiModelProperty("用户ID")
    private Long userId;

    @ApiModelProperty("作品名称")
    private String worksName;

    @ApiModelProperty("是否作品组图（0，是1，否）")
    private Integer isGroupImg;

    private String content;

    @ApiModelProperty("作品简介")
    private String worksIntro;

    @ApiModelProperty("创意理念")
    private String worksOriginality;

    @ApiModelProperty("研究内容")
    private String studyContent;

    @ApiModelProperty("参赛作品高清图，逗号隔开")
    private String worksImg;

    @ApiModelProperty("参赛作品高清图")
    private List<FileVo> worksImgList;

    @ApiModelProperty("作品主图")
    private Long worksImgMain;

    @ApiModelProperty("作品主图")
    private FileVo worksImgMainVo;

    @ApiModelProperty("承诺书附件ID")
    private Long promise;

    @ApiModelProperty("承诺书附件ID")
    private FileVo promiseVo;

    @ApiModelProperty("作品视频附件ID")
    private Long worksVideo;

    @ApiModelProperty("作品视频附件集合")
    private List<FileVo> worksVideoVo;

    private Integer delFlag = 0;

    @ApiModelProperty("作品状态")
    private WorksStatusEnum worksStatus;

    @ApiModelProperty(value = "操作类型",required = true)
    private OperateTypeEnum operateType;

    @ApiModelProperty("创建人")
    private Long createBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("获奖名次名称-奖项配置ID")
    private Long awardConfigId;

    @ApiModelProperty("获奖名次名称")
    private String awardName;

    @ApiModelProperty("得分")
    private String score;

    @ApiModelProperty("是否最终得分（0，否 1，是）")
    private Integer finallyScore;

    @ApiModelProperty("成员信息")
    private List<ScheduleMemberInfoVo> memberInfoList;
    private Integer upvoteCount;

    @ApiModelProperty("作品编码")
    private String worksEncoding;

    @ApiModelProperty("上一作品ID")
    private Long lastWorkId;
    @ApiModelProperty("上一作品名称")
    private String lastWorkName;

    @ApiModelProperty("下一作品ID")
    private Long nextWorkId;
    @ApiModelProperty("下一作品名称")
    private String nextWorkName;

    @ApiModelProperty("是否点赞（true:已点，false未点）")
    private Boolean isGive;



}
